package poo.collezione;

public interface Collection<T> {
	
	boolean add( T elemento); //implementazione nelle classi concrete opzionale
	boolean addAll(Collection<T> c); //implementazione nelle classi concrete opzionale
	void clear();
	boolean isEmpty();
	boolean contains(T elemento);
	boolean containsAll(Collection<T> c);
	int hashCode();
	Iteratore<T> iterator();
	boolean remove(T elemento);//implementazione nelle classi concrete opzionale 
	boolean removeAll(Collection<T> c);//implementazione nelle classi concrete opzionale - differenza insiemi
	boolean retainAll(Collection<T> c);//implementazione nelle classi concrete opzionale - intersezione insiemi
	int size();
	T[] toArray();
	T[] toArray(T[] array);
	

}
